package com.allways.dubbo.mdm.service.dataChangeLog;

import java.util.List;

import com.allways.dubbo.mdm.beans.dataChangeLog.DataChangeLog;

/**
 * <p>ClassName: IDataChangeLogService</p>
 * <p>Description: 数据变更日志Service接口</p>
 * <p>Author: weih</p>
 * <p>Date: 2016-09-29</p>
 */
public interface IDataChangeLogService {
    /**
     * <p>Description: 新增数据变更日志</p>
     * @param dataChangeLog 数据变更日志对象
     * @return 受影响的记录数
     */
    int addDataChangeLog(DataChangeLog dataChangeLog);
    
    /**
     * <p>Description: 更新数据变更日志</p>
     * @param dataChangeLog 数据变更日志对象
     * @return 受影响的记录数
     */
    int updateDataChangeLog(DataChangeLog dataChangeLog);
    
    /**
     * <p>Description: 删除数据变更日志</p>
     * @param dataChangeLog 数据变更日志对象
     * @return 受影响的记录数
     */
    int deleteDataChangeLog(DataChangeLog dataChangeLog);
    
    /**
     * <p>Description: 根据Code查询数据变更日志对象</p>
     * @param code 数据变更日志 code
     * @return 数据变更日志对象
     */
    DataChangeLog getDataChangeLogByCode(String code);
    
   
    
   
    /**
     * 得到数据变更日志记录数
     * @param dataChangeLog 查询条件
     * @return 记录总条数
     */
    long getDataChangeLogCount(DataChangeLog dataChangeLog);

    /**
     *  查询数据变更日志记录明细，一次性最多返回2000行数据变更日志数据
     * @param dataChangeLog  查询条件
     * @param firstRow  首行
     * @param lastRow  末行
     * @return  符合条件的记录列表
     */
    List<DataChangeLog> queryDataChangeLogs(DataChangeLog dataChangeLog ,int firstRow, int lastRow);
}
